The advent of the World Wide Web (WWW) and the Internet has enabled the emergence of a new set of applications. Using a web browser, users can interact with a variety of applications running on remote machines. For example, the WWW transparently integrates a variety of protocols, such as HTTP, FTP and Gopher. Furthermore, the HTTP server can transparently forward a client's request to a Common Gateway Interface (CGI) application for further processing. This simple mechanism has enabled a spectrum of applications running on the Internet, including workflow management, banking transactions, commercial advertisement, information services, and entertainment.
The interactivity on the Internet is ever increasing. Applications supporting interactive group training, collaborative authoring, multi-user games, text and audi-based chat, and video conferencing have been able to enter the mainstream of Internet usage. In such applications, multiple users interact with each other by exchanging real-time information, such as audio, video, text, position and orientation in the virtual world. However, limited network bandwidth and processing capability have represented a challenging obstacle to deploying such services. To support many thousands of users simultaneously in a real-time interactive environment, an application must support users with a wide range of computer and networking capabilities. Critical data about the users should be shared in a fashion that allows instant access by various application components running on different hosts.
Most currently available commercial multi-user platforms rely on a single central server, which puts a limit on the scalability (i.e., the number of clients that can be served) of the system and increases latency (i.e., the amount of time delay from send to receive) on the connected user, since the information has to go to the server first, before being forwarded to the user who is to receive the information. One solution which reduces latency for the connected user is "Peer-to-Peer" communication, which also increases scalability by reducing the load on the server. This solution becomes unmanageable if the connected user is limited to a slow communication line, such as, for example, a modem.
A possible solution for client-server lack of scalability is the Spline server technology available from the Mitsubishi Electric Research Laboratory. Although the load on individual servers is reduced by Spline, latency is still apparent (and may be higher than the strict client-server case).
Client server systems need to be scalable and provide a realistic model for multi-user connectivity. Thus, a need exists for a method system for providing a scalable system which can support a large number of users, reduce latency where possible, and provide optimal connectivity within and between intranet and Internet environments.